package ojzect;
/**
 *测试重写object的tostring方法与eqoals方法
 */
public class Demo {
    public static void main(String[] args) {
        Point p=new Point(1,2);
        //向控制台输出p对象
       /*
        string tostring()方法是object定义的方法
        该方法的作用是将当前对象转换为一个字符串,
        object的默认值实现中该方法返回的是这个对象的地址信息,
        格式为:类名@地址
         */
        String str =p.toString();
        System.out.println(str);

         //向控制台输出p对象
        /*
         System.out.println(object o);
         向控制台输出一个对象时,该方法会输出该对象tostring方法返回的字符串
         */
        System.out.println(p);
        /*
        在进行字符串连接时,会将字符串的对象内容转换为字符串,此时会调用起tostring
         */
        String line="对象内容:"+p;
        System.out.println(line);
        /*
        object定义的另一个常备子类重写的方法:equals
        该方法的作用是判断两个同类型的实列之间的内容是否相同
         */
        Point p2=new Point(1,2);
        /*
        ==为值比较,比较这两个变量的值是否相同
        对于引用类型变量而言,保存的是地址,因此==可以理解为比较两个对象的地址是否
        相同,这就意味着比较的是他们是否为同一个对象
         */
        System.out.println(p==p2);//false
        /*
        equals方法并不关心两个对象是否为同一个对象,而是应当关心两个对象的内容是否相同.
        object定义的该方法内部使用"=="实现,因此我们实际应用时应当重写该方法
        否则没有实际意义.
         */
        System.out.println(p2);//true
    }
}
